TestMate

TestMate (TM) is a comprehensive set of tools that automate the development, management, performance, and evaluation of functional and structural software tests. TestMate reduces the cost of your software development, testing, and maintenance and improves the quality of your software. TestMate operates on leading open-systems platforms in conjunction with Rational Apex (R), Rational's integrated, interactive, team-oriented, Ada software-engineering environment. Rational Apex and TestMate are part of Rational's modern, Ada-based, software-engineering solution, which comprises a set of software processes, products, and services that give you control of your software-development efforts and sharpen your competitive edge.

Automates the process of software testing

Today's critical software systems can have extremely complex requirements, involving hundreds or thousands of tests. Determining correct software behavior can involve sophisticated analysis. Software requirements can be poorly understood, requiring labor-intensive analysis to determine when testing is complete. Test cases, test data, and the software being tested usually exist in different versions and variants throughout the project's lifetime.

TestMate allows you to easily compose test cases into test suites that can be executed and evaluated automatically. During execution, TestMate collects data about each test case: the pass/fail status, CPU and elapsed-execution time, and information on block or decision coverage. TestMate provides powerful capabilities to analyze and refine the test-run information for use in reporting and test-suite generation. The testing process is made easy, automatic, and flexible, helping reduce your investment in testing efforts.




TestMate automates and controls the testing process throughout the lifecycle.


Offers nonintrusive coverage analysis

TestMate performs both block and decision-coverage analysis. Because coverage analysis is nonintrusive, it is performed with no need to modify your source code or to recompile or relink. When a test script is executed, simply specify that you want to collect coverage information and TestMate will invoke the test cases under the control of the coverage analyzer, giving you the information you need to evaluate the effectiveness of your testing.

Simplifies all testing activities

TestMate supports unit, integration, and regression testing and is an effective tool for both development and test organizations. During unit test, TestMate provides a consistent framework for test development, making it easy to write test cases and collect results. Coverage information shows you when you have not completely tested a unit---and exactly which statements or decisions are not being tested. During integration, TestMate makes it simple to combine test suites into more complex test runs and analyze the results. During regression testing, you can use TestMate's powerful differential analysis to compare a test run against prior runs, identifying new failing tests as well as areas that are no longer covered by your test suite.

Enhances understanding and use of test results

Test-run information can be sorted, reduced, and expanded, letting you focus on the information most important to your project. For example, you can look at all tests failing with an unhandled exception or focus on passing tests in a particular subsystem, sorted by level of coverage. TestMate's differential analysis allows you to compare different test runs for pass/fail analysis or to evaluate how coverage increases or decreases, at the level of a subsystem, library unit, or subprogram.

Improves communication between teams

During integration, test-run information can be displayed to show only the tests failing for a particular unit or failure mode. With a single command, TestMate can produce a new test list of these tests. This test list can be provided directly to the developer, so that full use can be made of the information gained in integration testing. Developers can use the coverage information collected in integration or regression testing to find all test cases available that test a unit under development, so the effect of change can be evaluated easily. Under TestMate's common framework, development and test teams achieve maximum use of test cases and knowledge gained in testing, improving your productivity and reducing your development costs.

Adapts to your project needs

TestMate supports an effective testing methodology but is an open system, allowing you to adapt it easily for project needs. TestMate allows each component of your test case to be configured to your requirements. Test drivers can be arbitrarily complex; tests can use prologs, epilogs, and evaluation actions that can be arbitrary UNIX programs. TestMate evaluation actions--the steps taken to determine whether a test case passed or failed--can involve elaborate analysis. Test data can be in any machine-readable form, or it can be supplied interactively by the user. TestMate supports any testing process--including yours.

Allows reuse of software tests

TestMate allows you to specify abstract test cases that include a test driver, input data, expected results, evaluation action, pre- and postconditions, and so on. TestMate allows you to defer specifying the version and location of each component until the time of execution, so you can easily reuse test cases in different combinations. During regression testing, different versions of the software being tested are specified, letting you rerun test suites against new configurations of test components.

Ensures project control over testing process

TestMate is fully integrated with the Subsystems and Configuration Management and Version Control (CMVC) facilities provided by Rational Apex. This means that all your test input data, test cases, and expected output are always consistent with your architecture, design, documentation, and software. TestMate records the actual test configurations used at each step, giving you accurate traceability throughout the testing process.

Required configuration

TestMate operates in conjunction with Rational Apex on each open-systems platform where Rational Apex is available.


D-82B; last updated 10/2/95